#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int a[105],b[105],c[105];
int n;
void add(int ar[], int len, int k, int value) {
    while (k<=len){
        ar[k]=(ar[k]+value)%2;
        k+=k&(-k);
    }
}
int sum(int ar[], int k) {
    int tmp=0;
    while (k>0) {
        tmp=(tmp+ar[k])%2;
        k-=k&(-k);
    }
    return tmp;
}
int main() {
    int m;
    scanf("%d%d",&n,&m);
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(c,0,sizeof(c));
    int operation;
    int result;
    int x1,y1,z1,x2,y2,z2;
    for (int i=0; i<m; i++) {
        scanf("%d",&operation);
        if (!operation) {
            result=0;
            scanf("%d%d%d",&x1,&y1,&z1);
            result+=sum(a,x1);
            result+=sum(b,y1);
            result+=sum(c,z1);
            printf("%d\n",result%2);
        }
        else {
            scanf("%d%d%d%d%d%d",&x1,&y1,&z1,&x2,&y2,&z2);
            add(a,n,x1,1); add(a,n,x2+1,-1);
            add(b,n,y1,1); add(b,n,y2+1,-1);
            add(c,n,z1,1); add(c,n,z2+1,-1);
        }
    }
    return 0;
}
